/*
 *      gconf_netbook.h
 *      
 *      Copyright 2010 AzureSky <AzureSky.fedora@gmail.com>
 *      
 *      This program is free software; you can redistribute it and/or modify
 *      it under the terms of the GNU General Public License as published by
 *      the Free Software Foundation; either version 2 of the License, or
 *      (at your option) any later version.
 *      
 *      This program is distributed in the hope that it will be useful,
 *      but WITHOUT ANY WARRANTY; without even the implied warranty of
 *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *      GNU General Public License for more details.
 *      
 *      You should have received a copy of the GNU General Public License
 *      along with this program; if not, write to the Free Software
 *      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 *      MA 02110-1301, USA.
 */

#ifndef _GCONF_NOTEBOOK_H_
#define _GCONF_NOTEBOOK_H_

#include <glibmm.h>
#include <gtkmm.h>
#include <glibmm.h>
#include <string>
#include <iostream>
#include "../lib/gconf.h"

class gconf_notebook : public Gtk::Notebook
{
	public:
		gconf_notebook(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& refGlade);
		~gconf_notebook();
	
		const Glib::RefPtr<Gtk::Builder>& refXml;
		
	private:
		//void font page
		void font_page();
		void change_font(std::string,Gtk::FontButton*);
		Gtk::FontButton* pro_button;
		Gtk::FontButton* doc_button;
		Gtk::FontButton* desk_button;
		Gtk::FontButton* title_button;
		Gtk::FontButton* dengkuan_button;
		
		void change_rending(int);
		Gtk::RadioButton* m_b1;
		Gtk::RadioButton* m_b2;
		Gtk::RadioButton* m_b3;
		Gtk::RadioButton* m_b4;
		Gtk::RadioButton::Group group;
		
		Gtk::SpinButton* dpi_spin;
		void change_dpi();
		
		//void style page
		void style_page();
		void toolbar_size_change(int);
		void toolbar_style_change(int);
		void change_bool(std::string,Gtk::CheckButton*);
		
		Gtk::CheckButton* button_icon;
		Gtk::CheckButton* menus_icon;
		Gtk::CheckButton* menus_tearoff;
		Gtk::CheckButton* show_desktop;
		
		Gtk::RadioButton* size_small;
		Gtk::RadioButton* size_large;
		
		Gtk::RadioButton* style_both;
		Gtk::RadioButton* style_both_horiz;
		Gtk::RadioButton* style_icons;
		Gtk::RadioButton* style_text;
		
		Gtk::RadioButton::Group size_group;
		Gtk::RadioButton::Group style_group;
		
		//void wallpager();
		void wallpager_page();
		void wallpager_style(int);
		void load_wallpager();
		Gtk::Image* wallpager_image;
		Glib::RefPtr<Gdk::Pixbuf> wall_temp_wall;
		Glib::RefPtr<Gdk::Pixbuf> wall_picture;
		Gtk::FileChooserButton* wallpager_file_button;
		Gtk::FileFilter wallpager_filter;
		
		Gtk::RadioButton::Group wall_group;
		Gtk::RadioButton* wallpager_button;
		Gtk::RadioButton* centered_button;
		Gtk::RadioButton* scaled_button;
		Gtk::RadioButton* stretched_button;
		Gtk::RadioButton* zoom_button;
		
		//void lock_page();
		void lock_page();
		Gtk::CheckButton* disable_lock_screen;
		Gtk::CheckButton* disable_printing;
		Gtk::CheckButton* disable_print_setup;
		Gtk::CheckButton* disable_user_switching;
		
		gconf cur_gconf;
};

#endif //_GCONF_NOTEBOOK_H_
